package net.asfun.jvalog.service;

import net.asfun.jvalog.po.*;

@SuppressWarnings("unchecked")
public class JdoerFactory {
	
	private static Jdoer jdo;
	private static Jdoer<Paper> jdopage;
	private static Jdoer<Map> jdomap;
	private static Jdoer<Relation> jdorel;
	private static Jdoer<Message> jdomsg;
	private static Jdoer<Sort> jdosort;
	private static Jdoer<Store> jdostore;
	private static Jdoer<Unique> jdounique;
	private static Jdoer<Label> jdolabel;
	private static Jdoer<File> jdofile;
	private static Jdoer<Log> jdolog;
	private static Jdoer<Web> jdoweb;
	private static Jdoer<Phase> jdopha;
	private static Jdoer<Meter> jdome;
	
	static {
		jdo = new Jdoer(Model.class);
		jdopage = new Jdoer<Paper>(Paper.class);
//		jdofile = new Jdoer<File>(File.class);
		jdolabel = new Jdoer<Label>(Label.class);
//		jdolog = new Jdoer<Log>(Log.class);
		jdomap = new Jdoer<Map>(Map.class);
		jdomsg = new Jdoer<Message>(Message.class);
		jdorel = new Jdoer<Relation>(Relation.class);
		jdosort = new Jdoer<Sort>(Sort.class);
		jdostore = new Jdoer<Store>(Store.class);
		jdounique = new Jdoer<Unique>(Unique.class);
		jdoweb = new Jdoer<Web>(Web.class);
		jdopha = new Jdoer<Phase>(Phase.class);
		jdome = new Jdoer<Meter>(Meter.class);
	}
	
	public static Jdoer getJdo() {
		return jdo;
	}
	
	public static Jdoer<Paper> getPaperJdo() {
		return jdopage;
	}

	public static Jdoer<File> getFileJdo() {
		return jdofile;
	}
	
	public static Jdoer<Label> getLabelJdo() {
		return jdolabel;
	}
	
	public static Jdoer<Log> getLogJdo() {
		return jdolog;
	}
	
	public static Jdoer<Map> getMapJdo() {
		return jdomap;
	}
	
	public static Jdoer<Message> getMessageJdo() {
		return jdomsg;
	}
	
	public static Jdoer<Relation> getRelationJdo() {
		return jdorel;
	}
	
	public static Jdoer<Sort> getSortJdo() {
		return jdosort;
	}
	
	public static Jdoer<Store> getStoreJdo() {
		return jdostore;
	}
	
	public static Jdoer<Unique> getUniqueJdo() {
		return jdounique;
	}
	
	public static Jdoer<Web> getWebJdo() {
		return jdoweb;
	}
	
	public static Jdoer<Phase> getPhaseJdo() {
		return jdopha;
	}
	
	public static Jdoer<Meter> getMeterJdo() {
		return jdome;
	}
}
